home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 376-400 / disk_376 / toollibrary / src / mathefunktionen.c < prev    next >
C/C++ Source or Header  |  1992-05-06  |  3KB  |  86 lines

  1.  
  2.  /********************************************************************/
  3.  /****                                                            ****/
  4.  /****                                                            ****/
  5.  /****    Program          : MatheFunktionen                      ****/
  6.  /****                                                            ****/
  7.  /****    Version          :    01.07                             ****/
  8.  /****                                                            ****/
  9.  /****    Erstversion      : 21.05.1988                           ****/
  10.  /****                                                            ****/
  11.  /****    Letzte Änderung  : 31.05.1990                           ****/
  12.  /****                                                            ****/
  13.  /****    Compiliert mit   : siehe MAKE                           ****/
  14.  /****                                                            ****/
  15.  /****    Gelinkt mit      : Für Tool.Library                     ****/
  16.  /****                                                            ****/
  17.  /********************************************************************/
  18.  /****                                                            ****/
  19.  /****                                                            ****/
  20.  /****               Copyright by Rüdiger Dreier                  ****/
  21.  /****                                                            ****/
  22.  /****                                                            ****/
  23.  /********************************************************************/
  24.  
  25.  #include "ToolProto.h"
  26.  #include <proto/mathieeedoubbas.h>
  27.  #include <proto/mathieeedoubtrans.h>
  28.  
  29.  extern struct Library *MathIeeeDoubBasBase;
  30.  extern struct Library *MathIeeeDoubTransBase;
  31.  
  32.  
  33.  VOID __asm Fak(register __a0 DOUBLE *Ziel,
  34.                 register __d0 LONG i)
  35.   {
  36.    DOUBLE W2,W3;
  37.    if(i>0)
  38.     {
  39.      Fak(&W2,i-1);
  40.      W3=Flt(i);
  41.      *Ziel=Mul(W2,W3);
  42.     }
  43.    else
  44.     {
  45.      if(i==0)
  46.       {
  47.        *Ziel=Flt(1);
  48.       }
  49.      else
  50.       {
  51.        *Ziel=Flt(-1);
  52.       }
  53.     }
  54.   }
  55.  
  56.  
  57.  VOID __asm NuK(register __a0 DOUBLE *Ziel,
  58.                 register __d0 LONG n,
  59.                 register __d1 LONG k)
  60.   {
  61.    DOUBLE a,b,c;
  62.    Fak(&a,n);
  63.    Fak(&b,k);
  64.    Fak(&c,n-k);
  65.    if(Cmp(a,-1.0)==0)
  66.     {
  67.      *Ziel=-1.0;
  68.      return;
  69.     }
  70.    if(Cmp(b,-1.0)==0)
  71.     {
  72.      *Ziel=-1.0;
  73.      return;
  74.     }
  75.    if(Cmp(c,-1.0)==0)
  76.     {
  77.      *Ziel=-1.0;
  78.      return;
  79.     }
  80.    
  81.    b=Mul(b,c);
  82.    a=Div(a,b);
  83.    *Ziel=a;
  84.   }
  85.  
  86.